草庐IT

java - 划分数组的方法数

全部标签

ruby - 如何使用 Ruby MiniTest stub 引发错误的方法?

我正在尝试测试模型方法引发错误时触发的RailsController分支。defmy_controller_method@my_object=MyObject.find(params[:id])beginresult=@my_object.my_model_method(params)rescueExceptions::CustomError=>eflash.now[:error]=e.messageredirect_tomy_object_path(@my_object)andreturnend#...restirrelevantend如何获得Miniteststub以引发此错误?i

ruby - 如何在 Ruby 中模拟类 Java 的注解?

如何在ruby中模拟类Java注解?(好吧,我有答案了,概括一下http://bens.me.uk/2009/java-style-annotations-in-ruby) 最佳答案 本文改编自apieceofcodeIwroteinananswertoanotherquestion几个星期前,虽然它当然不是原创的。这是一个著名的Ruby习语,毕竟它已经使用了很多年,至少从rakes的desc方法开始.moduleAnnotationsdefannotations(meth=nil)return@__annotations__[me

arrays - 获取数组的每n个元素

如何使用Ruby1.9+选择数组的每个n个元素(例如六个)?示例:a=[0,1,2,3,4,...,33]#solution#=>[[0,1,2,3,4,5],[6,7,8,9,10,11],...] 最佳答案 Enumerable#each_sliceIteratesthegivenblockforeachsliceofelements.Ifnoblockisgiven,returnsanenumerator.e.g.:(1..10).each_slice(3){|a|pa}#outputsbelow[1,2,3][4,5,6][

jquery - 如何在 jQuery 中调用 Rails 方法

我有这个JQuery代码:$("p.exclamation,div#notification_box").live("mouseover",function(){});我想从jQuery代码内部调用这个rails方法作为回调:defrender_readself.user_notifications.where(:read=>false).eachdo|n|n.read=truen.saveendend这个方法在我的用户模型中。有什么办法吗? 最佳答案 进行AJAX调用、设置路由、响应Controller操作并调用您的方法。#wha

ruby-on-rails - 为什么 RSpec 的方法 "get"、 "post"、 "put"、 "delete"在 gem(或 Rails 外部)的 Controller 规范中不起作用?

我不是Rails或Rspec的新手,但我是制作gems的新手。当我测试我的Controller时,REST方法“get”、“post”、“put”、“delete”给我一个未定义的方法错误。您将在下面找到代码,但如果您更喜欢在馅饼中查看它,clickhere.谢谢!这是我的spec_helper:$LOAD_PATH.unshift(File.dirname(__FILE__))$LOAD_PATH.unshift(File.join(File.dirname(__FILE__),'..','lib'))require'rubygems'require'active_support'u

ruby - 嵌套类如何访问 Ruby 外部类中的方法?

defclassAdefaraise"hi"#can'tbereachedendclassBdefba()#doesn'tfindmethoda.endendend我想从b调用a并引发异常。我该怎么办? 最佳答案 Ruby没有嵌套类。继承行为的唯一方法是通过继承。如果你想让你的代码工作,你需要使用支持嵌套类的语言。虽然这是一个令人难以置信的简洁而强大的功能,但不幸的是我只知道两种具有嵌套类的语言:BETA,引入嵌套类的语言(及其继任者gbeta)Newspeak我不知道其他的。Java有一个称为嵌套类的构造,但它们有一些不幸的设计限

ruby - Ruby 中 &(& 符号)的用途用于过程和调用方法

我注意到很多处理RubyProcs的示例中都有以下&符号。#RubyExampleshout=Proc.new{puts'Yolo!'}defshout_n_times(n,&callback)n.timesdocallback.callendendshout_n_times(3,&shout)#prints'Yolo!'3times我的问题是&符号背后的功能目的是什么?看起来,如果我在不使用&的情况下编写完全相同的代码,它会按预期工作:#Samecodeaspreviouswithout&shout=Proc.new{puts'Yolo!'}defshout_n_times(n,ca

ruby - 在数组中查找最常见的字符串

例如,我有这个数组(大小可变):x=["1.111","1.122","1.250","1.111"]我需要找到最常见的值(在本例中为“1.111”)。有没有简单的方法可以做到这一点?提前致谢!编辑#1:谢谢大家的回答!编辑#2:我已经根据Z.E.D.的信息更改了我接受的答案。再次感谢大家! 最佳答案 ruby#!/usr/bin/ruby1.8defmost_common_value(a)a.group_bydo|e|eend.values.max_by(&:size).firstendx=["1.111","1.122","1.

ruby - 使用 step 遍历数组

我想查看数组中的每个第n个元素。在C++中,我会这样做:for(intx=0;x我想在Ruby中做同样的事情,但找不到“步骤”的方法。while循环可以完成这项工作,但我发现在已知大小的情况下使用它令人反感,并希望有更好的(更多Ruby)方法来完成这项工作。 最佳答案 范围有一个step方法,您可以使用它来跳过索引:(0..array.length-1).step(2).eachdo|index|value_you_care_about=array[index]end或者,如果您习惯于将...与范围一起使用,则以下内容更简洁一些:(

ruby - 如何前置类方法

这个问题直接关系到thisone.但我试图将其分解为基本问题,我不想在另一个问题框中输入更多文本。所以这里是:我知道我可以通过扩展模块ClassMethods并通过Module#includeHook包含它来包含类方法。但是我可以用prepend做同样的事情吗?这是我的例子:Foo类:classFoodefself.bar'BaseBar!'endend类扩展:moduleExtensionsmoduleClassMethodsdefbar'ExtendedBar!'endenddefself.prepended(base)base.extend(ClassMethods)endend